package cn.btks.resultintegration.achievements.service;

import cn.btks.commonserver.result.ResultState;
import cn.btks.resultintegration.achievements.pojo.AchievementsTemp;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @Author lijun
 * @Date 2021/2/19 15:26
 */
public interface AchievementsTempService {

    /**
     * 根据ID查询
     * @param id
     * @return
     */
    AchievementsTemp findById(Long id);

    /**
     * 分页查询师级审核成果数据
     * @param pageNumber
     * @param pageSize
     * @param isApproved 审核状态
     * @return
     */
    ResultState findPage(Integer pageNumber, Integer pageSize, Integer isApproved);

    /**
     * 分页查询师级审核成果数据
     * @param pageNumber
     * @param pageSize
     * @param isApproved 审核状态
     * @param request
     * @return
     */
    ResultState findPage1(Integer pageNumber, Integer pageSize, Integer isApproved,HttpServletRequest request) throws Exception;

    /**
     * 分页查询师级审核成果数据
     * @param pageNumber
     * @param pageSize
     * @param cityId
     * @return
     */
    ResultState findPage2(Integer pageNumber, Integer pageSize, Long cityId);

    /**
     * 保存成果数据(管控清单、矢量文件、佐证材料)
     * @param achievementsTemp
     * @param multipartTextFile 管控清单文件
     * @param multipartVectorFiles 矢量文件
     * @param multipartEvidenceFiles 佐证材料
     * @param request
     * @return
     */
    ResultState save(AchievementsTemp achievementsTemp, MultipartFile multipartTextFile, List<MultipartFile> multipartVectorFiles, List<MultipartFile> multipartEvidenceFiles, HttpServletRequest request) throws Exception;

    /**
     * 保存成果数据(只保存佐证材料)
     * @param achievementsTemp
     * @param multipartEvidenceFiles 佐证材料
     * @param request
     * @return
     */
    ResultState save1(AchievementsTemp achievementsTemp, List<MultipartFile> multipartEvidenceFiles, HttpServletRequest request) throws Exception;

    /**
     * 更新成果数据(管控清单、矢量文件、佐证材料)
     * @param achievementsTemp
     * @param multipartTextFile 管控清单文件
     * @param multipartVectorFiles 矢量文件
     * @param multipartEvidenceFiles 佐证材料
     * @param request
     * @return
     */
    ResultState update(AchievementsTemp achievementsTemp, MultipartFile multipartTextFile, List<MultipartFile> multipartVectorFiles, List<MultipartFile> multipartEvidenceFiles, HttpServletRequest request) throws Exception;

    /**
     * 人工审核
     * @param isApproved
     * @param verifyContent
     * @param achievementTempId
     * @return
     */
    ResultState manualVerify(Integer isApproved,String verifyContent,Long achievementTempId,HttpServletRequest request) throws Exception;
}
